
Nombre:
ACDSee
Versión:
2.41
Editor:
ACD Systems
Víctima:
ACDSEE32.EXE
Herramientas:
SoftICE
W32Dasm
HIEW
Cerebro
Cracker:
LW2000
Tutorial:
número 13
URL:
http://www.acdsystems.com
Renuncia: Este tutorial tiene una finalidad únicamente
educativa. No asumo ninguna responsabilidad por el mal uso de éste material.
1.
Arrancamos ACDSee y vamos a ‘Help’, ‘About’,
‘Register Now’. Introducimos ‘LW2000@GMX.NET’ como UserName y ‘1230099’ como
Serial.
2.
Hacemos click en el botón ‘Ok’. ¡Boooom!
“Your name and registration code do not match.” ¡Típico ‘bug’! Pulsamos el
botón ‘Ok’ para cerrar la messageBox. ¡Vamos a ‘corregirlo’!
3.
Pulsamos Ctrl-D para cambiarnos a SoftICE.
Ahora ponemos un breakpoint en ‘getDlgItemTextA’ con “BOX GETDLGITEMTEXTA”.
Pulsamos F5 para seguir ejecutando el programa. Pulsamos el botón ‘Ok’ nuevamente.
SoftICE aparece. Ahora pulsamos F11 para ir a la instrucción que realizó la
llamada:
:00459049 FFD5 call ebp
:0045904B 8B15C0035000 mov edx, dword ptr [005003C0]
>Aquí
:00459051 8D442414 lea eax, dword ptr [esp+14]
:00459055 8D4C2410 lea ecx, dword ptr [esp+10]
:00459059 50
push eax
4.
Traceamos el código con F10 hasta que
lleguemos aquí:
:004590A0 8D54241C lea edx, dword ptr [esp+1C]
:004590A4 85D2 test edx, edx >Aquí
:004590A6 741E je 004590C6
5.
EDX y EAX se comparan. “D EDX” nos omstrará
nuestro Name. Parece que nuestra ‘criaturita’ comprueba si hemos introducido
un Name.
6.
Pulsamos F10 hasta lleguar aquí:
:004590C6 8D8424F4000000 lea eax, dword ptr [esp+000000F4]
:004590CD 85C0 test eax, eax >Aquí
:004590CF 7424 je 004590F5
7.
¡Esto nos suena! “D EAX” nos mostrará
nuestro Serial falso:
:00459105 6A00 push 00000000
:00459107 3BF8 cmp edi, eax >Aquí
:00459109 0F85E7000000 jne 004591F6
8.
Usamos F10 hasta llegar aquí:
:00459121 E8FAEFFFFF call 00458120
:00459126 83F801 cmp eax, 00000001 >Aquí
:00459129 7443 je 0045916E
9.
Parece interesante. Introducimos “BC
*” para borrar todos los breakpoint. Después hacemos doble click en ‘:00459126
83F801 CMP EAXM,00000001’, para poner un breakpoint en ésa línea. Ahora introducimos
“R EAX = 1” para cambiar el registro EAX a 1.
10.
Pulsamos F5. ¡Wow! Parece un crack muy sencillo pero, ¡espere! Echamos
un vistazo a la barra de títulos de ACDSee. ¡¡¡Todavía ‘UnRegistered’!!!
11.
¡Hmmm! Cerramos ACDSee y lo arrancamos nuevamente. Pero, todavía
está ‘UnRegistered’, por lo que vamos a echar nuevamente un vistazo al código:
:00459121 E8FAEFFFFF call 00458120 >¡Hmmm!
¿Qué es esto?
:00459126 83F801 cmp eax, 00000001 >Nuestra
manipulación
:00459129 7443 je 0045916E
12.
Antes de ‘nuestra manipulación’ hay un ‘CALL’ a una función. Vamos
a ésa línea ‘:00459121 E8FAEFFFFF CALL 00458120’, y pulsamos F8 para tracear
ése ‘CALL’:
:00458120 83EC24
sub esp, 00000024 >Estamos aquí
:00458123 53
push ebx
:00458124 55
push ebp
:00458125 56
push esi
:00458126 8B742434 mov esi, dword ptr [esp+34]
13.
Y ahora seguimos el mismo procedimiento: traceamos con F10 hasta
llegar aquí:
:00458177 83C410
add esp, 00000010
:0045817A 85C0
test eax, eax >Aquí
:0045817C 740F
je 0045818D
14.
Vamos a probar de nuevo. “BD *” para desactivar todos los breakpoint.
Hacemos doble click en ‘:00458177 83C410 ADD ESP,00000010’, para poner un
breakpoint. Ahora introducimos “R EAX = 1”. Pulsamos F5 para seguir.
15.
¡Hmmm! ¡¡¡Registrados!!! Cerramos ACDSee y lo volvemos arrancar.
16.
Aparece SoftICE en la mismo sitio en el que nos hemos detenido anteriormente.
Escribimos de nuevo “R EAX = 1”. Si hemos reiniciado el ‘browser’ tendremos
que hacer lo mismo dos veces. Bien, echamos un vistazo a la barra de títulos.
¡Sólo aparece nuestro Name! Vamos a hacer que éstos cambios sean permanentes.
17.
Echamos un vistazo al código:
:00458177 83C410 add esp, 00000010
:0045817A 85C0 test eax, eax
>Aquí
:0045817C 740F je 0045818D
>¡Hmmmm!
18.
Escribimos “BD *” y pulsamos F5. Cerramos ACDSee y arrancamos W32Dasm.
Desensamblamos “ACDSEE32.EXE”. Ahora pulsamos ‘Shift-F12’ e introducimos ‘0045817C’.
19.
Ponemos la barra verde en la línea:
:0045817C 740F je 0045818D
Y echamos un vistazo a la barra de estado:
...@Offset 0005817Ch in File: ACDSee32.exe
20.
Nuestro offset es ‘005817C’. Cerramos W32Dasm y arrancamos HIEW con
‘ACDSEE32.EXE’.
21.
Pulsamos Intro dos veces y vamos al modo DeCode. Pulsamos F5 e introducimos
‘005817C’. Bien, ahora ya estamos en el sitio correcto. Pulsamos F3 para editar
el fichero. Cambiamos el ‘740F’ a ‘750F’. Esto cambia el ‘JE’ a ‘JNE’. Ahora
ACDSee acepta sólo Serials falsos. Pulsamos F9 para actualiar el fichero y
F10 para salir.
22.
Arrancamos ACDSee e introducimos nuestros datos.
¡Enhorabuena! ¡Ya es un usuario registrado!
¡Se acabó! Fácil, ¿no? ¿Algún comentario? Envíeme
un email a LW2000@gmx.net.
o vaya a http://www.LW2000.cjb.net
Gracias a tKC por sus tutoriales. Empecé leyendo su
primer tutorial y todavía sigo leyéndolos.
Traducción de: MeGaBiTe